package com.yanyuan.algorithm.sort;

/**
 * @Description 临时-桶排序
 * @Author yanyuan
 * @Date 11:19 2020/4/27
 * @Version 1.0
 **/
public class TempBucketSort {

    public static int[] arr = new int[]{0, 1, 6, 2, 4, 1, 5, 9};

    /**
     * bug:
     *  1.空桶为0
     *  2.重复元素不能显示
     * 桶排序：适用于正整数，且不能有重复
     * @param arr
     * @param maxNum
     * @return
     */
    public static int[] sort(int[] arr, int maxNum) {
        //空桶数组
        int[] sorted = new int[maxNum+1];
        //实现算法
        for (int i = 0; i < arr.length; i++){
            sorted[arr[i]] = arr[i];
        }
        return sorted;
    }

    public static void main(String[] args) {
        int[] arr = new int[]{6, 2, 4, 1, 5, 9};
        int[] sortArr = sort(arr, 10);
        for (int val : sortArr) {
            if (val <= 0) {
                continue;
            }
            System.out.print(" " + val);
        }
    }
}
